CStack Class

A Stack Collection is an ordered set of data items, which are accessed on a LIFO (Last-In / First-Out) basis. Each data item is passed and stored as a variant variable, using the Push and Pop methods.

Include file: CStack.inc

Methods

Name Description
Push Appends a variant at the end of the collection.
Pop Gets and removes the last element of the collection.
Count Returns the number of elements in the collection.
Clear Removes all the elements in the collection.

Push

Appends a variant at the end of the collection.

FUNCTION Push (BYREF cv AS CVAR) AS HRESULT

Return value

Returns S_OK on success, or an error HRESULT on failure. Error DISP_E_ARRAYISLOCKED: The array is locked.

Usage example:

#INCLUDE ONCE "Afx/CStack.inc"
using Afx

DIM pStack AS CStack
pStack.Push "String 1"
pStack.Push "String 2"
DIM cv AS CVAR
cv = pStack.Pop
PRINT cv
cv = pStack.Pop
PRINT cv

' --or--

PRINT pStack.Pop
PRINT pStack.Pop

Pop

Gets and removes the last element of the collection.

FUNCTION Pop () AS CVAR

Return value

A Variant. If there are no elements to pop, the returned variant will be empty.

Count

Returns the number of elements in the collection.

FUNCTION Count () AS UINT

Clear

Returns the number of elements in the collection.

FUNCTION Clear () AS HRESULT

Return value

Returns S_OK on success, or an error HRESULT on failure.